home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1997 / HAM Radio 1997.iso / vcls / uglobal / uglobal.pas next >
Pascal/Delphi Source File  |  1996-04-08  |  1KB  |  61 lines

  1. unit Uglobal;
  2.  
  3. interface
  4.  
  5. uses SysUtils, WinDos;
  6.  
  7. type
  8. PPacket  = ^TPacket;
  9. TPacket  = record
  10.            Packet_Length  : Integer;
  11.            Packet_Request : Byte;
  12.            Packet_Data    : array[1..100] of byte;
  13.            end;
  14.  
  15. var
  16.  
  17. NETID       : string[30];
  18. SendPacket  : TPacket;
  19. ReplyPacket : TPacket;
  20.  
  21. implementation
  22.  
  23. Function ShellRequest(const FunctionNumber: byte; InPacket,OutPacket : pointer): byte;
  24. begin
  25.      asm
  26.         push ds
  27.         push si
  28.         push di
  29.         mov ah, FunctionNumber
  30.         lds si, InPacket
  31.         les di, OutPacket
  32.         int 21h
  33.         mov @result, al
  34.         pop di
  35.         pop si
  36.         pop ds
  37.      end;
  38. end;
  39.  
  40. function GetConnectionNumber: Byte;
  41. begin
  42.      Result := ShellRequest(220,nil,nil);
  43. end;
  44.  
  45. Procedure GetConnectionInformation;
  46. var
  47. Number : byte;
  48. begin
  49.      Number := GetConnectionNumber;
  50.      SendPacket.Packet_Length := 4;
  51.      SendPacket.Packet_Request := 22;
  52.      Move(Number,SendPacket.Packet_Data,SizeOf(Number));
  53.      ReplyPacket.Packet_Length := 62;
  54.      Number := ShellRequest(227,@SendPacket,@ReplyPacket);
  55.      NETID := StrPas(@ReplyPacket.Packet_Data[6]);
  56. end;
  57.  
  58. begin
  59.      GetConnectionInformation;
  60. end.
  61.